package com.zh.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zh.blog.dto.TagBackedDto;
import com.zh.blog.dto.TagDto;
import com.zh.blog.model.Tag;
import com.zh.blog.vo.ConditionVO;
import com.zh.blog.vo.PageResult;
import com.zh.blog.vo.TagVO;

import java.util.List;

/**
 * 博文标签服务
 * @author ZhengHao
 * Created At 2022/8/2.
 **/
public interface TagService extends IService<Tag> {
    /**
     * 查询标签列表
     * @return
     */
    PageResult<TagDto> listTags();

    /**
     * 查询后台标签
     * @param conditionVO
     * @return
     */
    PageResult<TagBackedDto> listTagBackDto(ConditionVO conditionVO);

    /**
     * 搜索文章标签
     * @param conditionVO 条件
     * @return
     */
    List<TagDto> listTagsBySearch(ConditionVO conditionVO);

    /**
     * 保存或更新标签
     * @param tagVO
     */
    void saveOrUpdateTag(TagVO tagVO);

    /**
     * 批量删除标签
     * @param tagIdList
     */
    void deleteTag(List<Integer> tagIdList);
}